Deep Convolution Neural Networks, or Deep CNN is the most core of the remarkable development in the field of Deep Learning. Though the CNN has been employed to solve character recognition problems in 1990s, it is not until recently that the CNN has become widespread in Machine Learning. For example, in 2012, the CNN significantly outperformed its competitors in an annual software contest, the ImageNet Large Scale Visual Recognition Challenge, and won the contest. After that, the CNN has become a very useful tool in the field of machine learning.
Recently, such CNNs are widely used in a field of an autonomous driving. In the field of the autonomous driving, the CNNs may perform an object detection, a free space detection, a semantic segmentation and the like.
The CNNs may perform those operations by processing images acquired through cameras installed on autonomous vehicles. In one example, when performing the object detection, one of the CNNs may detect locations and classes of objects included in one of the images, in a 2-dimensional coordinate system corresponding to said one of the images, and may output locations and classes of the objects in a 3-dimensional coordinate system. In the transforming process from the 2-dimensional coordinate system to the 3-dimensional coordinate system, camera parameters, which represent physical characteristics of the cameras, may be used.
A shortcoming of such approach is that if the camera parameters do not reflect real physical characteristics of the cameras, the transforming process may generate wrong outputs. Accordingly, if the physical characteristics of the cameras are changed due to external factors such as impacts on the cameras, the transforming process may not be performed properly, because a premise of the transforming process may become wrong. So far the autonomous driving has been mainly studied on a processing of the images, but methods to solve those problems were not studied much.